* {
  padding : 0;
  margin : 0;
  box-sizing : border-box;
}

:root {
  --bg-color : #2C2C2C;
}

body {
  font : bold 20px 'Courier';
}

#main {
  width : 360px;
  height : 420px;
  background-color : var(--bg-color);
  margin : 100px auto;
  border : 10px solid black;
  border-radius : 10px;
}

/* 棋盘 */
#stage {
  /* 给予蛇身体一个定位参照 */
  position : relative;
  width : 304px;
  height : 304px;
  margin : 14px auto 0;
  border : 2px solid #DFDFDF;
}

#score-panel {
  width : 300px;
  margin : 0 auto;
  padding-top : 26px;
  color : #DFDFDF;
  display : flex;
  flex-direction : row;
  justify-content : space-between;
}

#snake {
  list-style : none;
}

#snake > li {
  position : absolute;
  width : 10px;
  height : 10px;
  border : 1px solid var(--bg-color);
  background-color : #D66262;
}

#snake > li:first-child {
  background-color : #D72C2C;
}

#food {
  position : absolute;
  left : 30px;
  top : 30px;
  width : 10px;
  height : 10px;
  border-radius : 5px;
  background-color : #FCD6A8;
  animation : foodAnimation 1.6s ease-in-out 0s infinite;
}

@keyframes foodAnimation {
  0% {
    opacity : .5;
  }

  50% {
    opacity : 1;
  }

  100% {
    opacity : .5;
  }
}
